<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>

<body>


  <script>
    // Promise 本质就是一个构造函数
    // console.dir(Promise)

    // resolve,reject这两个都是回调函数
    // resolve 正确返回结果
    // reject 错误的返回的结果
    var p = new Promise((resolve, reject) => {
      setTimeout(() => {
        var flag = false
        if (flag) {
          resolve('正确执行')
        } else {
          reject('错误结果')
        }
      }, 1000)
    })

    // Promise 是解决异步问题的，但是 Promise 本身就是一个异步函数
    // 所以需要使用回调函数接收返回的结果
    // then 有两个函数参数，其中一个是 resolve 回调函数，另一个是 reject 回调函数
    p.then((data) => {
      console.log(data)
    }, (err) => {
      console.error(err)
    })






    var Pro = new Promise((resolve, reject) => {
      setTimeout(() => {
        var flag = true
        if (flag) {
          resolve('正确的结果')
        } else {
          reject('错误的结果')
        }
      }, 1000)

    })
    Pro.then((data) => {
      console.log(data)
    }, (err) => {
      console.log(err)
    })
  </script>
</body>

</html>